package ar.edu.utn.frgp.EjemploHibernate.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;

@Entity(name = "transferencia")
public class Transferencia implements Serializable {

	private static final long serialVersionUID = 1L;

	@Id
	@Column(name = "idTransferencia")
	private int idTransferencia;

	@Column(name = "fecha")
	private Date fecha;

	@Column(name = "idCuentaOrigen")
	private Integer idCuentaOrigen;

	@Column(name = "idCuentaDestino")
	private Integer idCuentaDestino;

	@Column(name = "saldoAnterior")
	private Double saldoAnterior;
	
	@Column(name="saldoActual")
	private Double saldoActual; 
	
	@Column(name="descubiertoAnterior")
	private Double descubiertoAnterior;
	
	@Column(name="descubiertoActual")
	private Double descubiertoActual;
	
	@Column(name="tipoTransferencia")
	private String tipoTransferencia;

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public int getIdTransferencia() {
		return idTransferencia;
	}

	public Date getFecha() {
		return fecha;
	}

	public Integer getIdCuentaOrigen() {
		return idCuentaOrigen;
	}

	public Integer getIdCuentaDestino() {
		return idCuentaDestino;
	}

	public Double getSaldoAnterior() {
		return saldoAnterior;
	}

	public Double getSaldoActual() {
		return saldoActual;
	}

	public Double getDescubiertoAnterior() {
		return descubiertoAnterior;
	}

	public Double getDescubiertoActual() {
		return descubiertoActual;
	}

	public String getTipoTransferencia() {
		return tipoTransferencia;
	}

	public void setIdTransferencia(int idTransferencia) {
		this.idTransferencia = idTransferencia;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	public void setIdCuentaOrigen(Integer idCuentaOrigen) {
		this.idCuentaOrigen = idCuentaOrigen;
	}

	public void setIdCuentaDestino(Integer idCuentaDestino) {
		this.idCuentaDestino = idCuentaDestino;
	}

	public void setSaldoAnterior(Double saldoAnterior) {
		this.saldoAnterior = saldoAnterior;
	}

	public void setSaldoActual(Double saldoActual) {
		this.saldoActual = saldoActual;
	}

	public void setDescubiertoAnterior(Double descubiertoAnterior) {
		this.descubiertoAnterior = descubiertoAnterior;
	}

	public void setDescubiertoActual(Double descubiertoActual) {
		this.descubiertoActual = descubiertoActual;
	}

	public void setTipoTransferencia(String tipoTransferencia) {
		this.tipoTransferencia = tipoTransferencia;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime
				* result
				+ ((descubiertoActual == null) ? 0 : descubiertoActual
						.hashCode());
		result = prime
				* result
				+ ((descubiertoAnterior == null) ? 0 : descubiertoAnterior
						.hashCode());
		result = prime * result + ((fecha == null) ? 0 : fecha.hashCode());
		result = prime * result
				+ ((idCuentaDestino == null) ? 0 : idCuentaDestino.hashCode());
		result = prime * result
				+ ((idCuentaOrigen == null) ? 0 : idCuentaOrigen.hashCode());
		result = prime * result + idTransferencia;
		result = prime * result
				+ ((saldoActual == null) ? 0 : saldoActual.hashCode());
		result = prime * result
				+ ((saldoAnterior == null) ? 0 : saldoAnterior.hashCode());
		result = prime
				* result
				+ ((tipoTransferencia == null) ? 0 : tipoTransferencia
						.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj) {
			return true;
		}
		if (obj == null) {
			return false;
		}
		if (getClass() != obj.getClass()) {
			return false;
		}
		Transferencia other = (Transferencia) obj;
		if (descubiertoActual == null) {
			if (other.descubiertoActual != null) {
				return false;
			}
		} else if (!descubiertoActual.equals(other.descubiertoActual)) {
			return false;
		}
		if (descubiertoAnterior == null) {
			if (other.descubiertoAnterior != null) {
				return false;
			}
		} else if (!descubiertoAnterior.equals(other.descubiertoAnterior)) {
			return false;
		}
		if (fecha == null) {
			if (other.fecha != null) {
				return false;
			}
		} else if (!fecha.equals(other.fecha)) {
			return false;
		}
		if (idCuentaDestino == null) {
			if (other.idCuentaDestino != null) {
				return false;
			}
		} else if (!idCuentaDestino.equals(other.idCuentaDestino)) {
			return false;
		}
		if (idCuentaOrigen == null) {
			if (other.idCuentaOrigen != null) {
				return false;
			}
		} else if (!idCuentaOrigen.equals(other.idCuentaOrigen)) {
			return false;
		}
		if (idTransferencia != other.idTransferencia) {
			return false;
		}
		if (saldoActual == null) {
			if (other.saldoActual != null) {
				return false;
			}
		} else if (!saldoActual.equals(other.saldoActual)) {
			return false;
		}
		if (saldoAnterior == null) {
			if (other.saldoAnterior != null) {
				return false;
			}
		} else if (!saldoAnterior.equals(other.saldoAnterior)) {
			return false;
		}
		if (tipoTransferencia == null) {
			if (other.tipoTransferencia != null) {
				return false;
			}
		} else if (!tipoTransferencia.equals(other.tipoTransferencia)) {
			return false;
		}
		return true;
	}

	
}
